// DAO/UserDao.java
package com.hp.DAO;              // DAO 包

import com.hp.Model.User;        // 导入模型层实体：User
import java.util.List;    // 导入 List

/**
 * User 表的数据访问接口：只定义“要做什么”，不关心“怎么做”
 */
public interface UserDao {                    // 定义接口，供 Service 调用，供 Impl 实现
    User findById(Long id);                   // 按主键查询用户
    User findByEmail(String email);           // 按邮箱查询用户（用于注册校验）
    List<User> listByRole(String role, int offset, int limit); // 按角色分页查询

    Long insert(User u);                      // 插入用户，返回自增 ID
    int updateBasic(User u);                  // 更新基础信息（示例：name、role）
    int deleteById(Long id);                  // 按主键删除
}
